export default {
  // 共通テキスト
  common: {
    confirm: '確認',
    cancel: 'キャンセル',
    save: '保存',
    delete: '削除',
    edit: '編集',
    add: '追加',
    search: '検索',
    loading: '読み込み中...',
    success: '成功',
    error: 'エラー',
    warning: '警告',
    info: '情報',
    close: '閉じる',
    back: '戻る',
    next: '次へ',
    previous: '前へ',
    submit: '送信',
    reset: 'リセット',
    clear: 'クリア',
    refresh: '更新',
    copy: 'コピー',
    paste: '貼り付け',
    cut: '切り取り',
    selectAll: 'すべて選択',
    yes: 'はい',
    no: 'いいえ',
    ok: 'OK',
    apply: '適用',
    import: 'インポート',
    export: 'エクスポート',
    upload: 'アップロード',
    download: 'ダウンロード',
    preview: 'プレビュー',
    print: '印刷',
    share: '共有',
    help: 'ヘルプ',
    about: 'について',
    version: 'バージョン',
    update: '更新',
    settings: '設定',
    preferences: '環境設定',
    language: '言語',
    theme: 'テーマ',
    darkMode: 'ダークモード',
    lightMode: 'ライトモード',
    auto: '自動'
  },

  // ナビゲーションメニュー
  nav: {
    home: 'ホーム',
    chat: 'チャット',
    settings: '設定',
    about: 'について',
    login: 'ログイン',
    logout: 'ログアウト'
  },

  // サイドバー
  sidebar: {
    contacts: '連絡先',
    favorites: 'お気に入り',
    files: 'ファイル転送',
    moments: 'モーメント',
    miniPrograms: 'ミニプログラム'
  },

  // ルートタイトル
  routes: {
    home: 'ホーム',
    chat: 'チャット',
    settings: '設定',
    login: 'ログイン',
    logout: '再ログイン',
    formGlobalTest: 'フォームコンポーネントテスト',
    noPower: '401',
    notFound: '404'
  },

  // 設定ページ
  settings: {
    title: '設定',
    selectCategory: '左側から設定カテゴリを選択してください',

    // 設定メニュー
    menu: {
      model: 'モデルサービス',
      general: '一般設定',
      appearance: '外観設定',
      shortcuts: 'ショートカット',
      data: 'データ設定',
      about: '私たちについて'
    },

    // モデルサービス設定
    model: {
      title: 'モデルサービス設定',
      description: 'AIモデルサービスの関連パラメータを設定',
      apiKey: 'APIキー',
      apiKeyPlaceholder: 'APIキーを入力してください',
      baseUrl: 'ベースURL',
      baseUrlPlaceholder: 'APIベースURLを入力してください',
      model: 'モデル',
      modelPlaceholder: 'モデル名を選択または入力してください',
      temperature: '温度',
      temperatureDescription: '回答のランダム性を制御、値が高いほどランダム',
      maxTokens: '最大トークン数',
      maxTokensDescription: '1回の会話での最大トークン数',
      timeout: 'タイムアウト',
      timeoutDescription: 'リクエストタイムアウト時間（秒）',
      testConnection: '接続テスト',
      connectionSuccess: '接続成功',
      connectionFailed: '接続失敗',
      saveSuccess: '保存成功',
      saveFailed: '保存失敗'
    },

    // 一般設定
    general: {
      title: '一般設定',
      description: 'アプリケーションの基本設定オプション',
      language: 'インターフェース言語',
      languageDescription: 'アプリケーションインターフェースの表示言語を選択',
      autoStart: '自動起動',
      autoStartDescription: 'システム起動時にアプリケーションを自動起動',
      startToTray: 'トレイに最小化',
      startToTrayDescription: 'ウィンドウを閉じるときにシステムトレイに最小化',
      closeToTray: 'トレイに閉じる',
      closeToTrayDescription: '閉じるボタンをクリックしたときに終了ではなくトレイに最小化',
      autoUpdate: '自動更新',
      autoUpdateDescription: 'アプリケーションの更新を自動的にチェックしてダウンロード',
      notifications: '通知',
      notificationsDescription: 'アプリケーションがシステム通知を送信することを許可',
      soundEffects: '音響効果',
      soundEffectsDescription: 'インターフェース音響効果を有効にする',
      traySettings: 'トレイ設定',
      showTrayIcon: 'トレイアイコンを表示',
      showTrayIconDescription: 'システムトレイにアイコンを表示',
      performanceSettings: 'パフォーマンス設定',
      memoryLimit: 'メモリ使用制限 (MB)',
      hardwareAcceleration: 'ハードウェアアクセラレーション',
      hardwareAccelerationDescription: 'レンダリングにGPUアクセラレーションを使用'
    },

    // 外観設定
    appearance: {
      title: '外観設定',
      description: 'アプリケーションの外観とテーマをカスタマイズ',
      theme: 'テーマモード',
      themeDescription: 'アプリケーションのテーマモードを選択',
      themeLight: 'ライトテーマ',
      themeDark: 'ダークテーマ',
      themeAuto: 'システムに従う',
      accentColor: 'アクセントカラー',
      accentColorDescription: 'アプリケーションのアクセントカラーを選択',
      fontSize: 'フォントサイズ',
      fontSizeDescription: 'インターフェーステキストサイズを調整',
      fontSizeSmall: '小',
      fontSizeMedium: '中',
      fontSizeLarge: '大',
      fontFamily: 'フォント',
      fontFamilyDescription: 'インターフェースフォントを選択',
      windowOpacity: 'ウィンドウ透明度',
      windowOpacityDescription: 'ウィンドウの透明度を調整',
      animations: 'アニメーション効果',
      animationsDescription: 'インターフェースアニメーション効果を有効にする',
      compactMode: 'コンパクトモード',
      compactModeDescription: 'よりコンパクトなインターフェースレイアウトを使用',
      resetConfirm: 'すべての設定をリセットしてもよろしいですか？',
      resetSuccess: '設定がリセットされました'
    },

    // ショートカット設定
    shortcuts: {
      title: 'ショートカット設定',
      description: 'キーボードショートカットをカスタマイズして効率を向上',
      global: 'グローバルショートカット',
      app: 'アプリケーション内ショートカット',
      custom: 'カスタムショートカット',
      settings: 'ショートカット設定',
      enableGlobal: 'グローバルショートカットを有効にする',
      enableGlobalDescription: '他のアプリケーションでもショートカットを使用',
      showHints: 'ショートカットヒントを表示',
      showHintsDescription: 'メニューとボタンにショートカットを表示',
      conflictDetection: 'ショートカット競合検出',
      conflictDetectionDescription: 'ショートカットの競合を自動検出して警告',
      actionName: 'アクション名',
      actionNamePlaceholder: 'アクション名を入力',
      shortcut: 'ショートカット',
      shortcutPlaceholder: 'クリックしてショートカットを記録',
      command: 'コマンド',
      commandPlaceholder: 'コマンドを選択',
      addShortcut: 'ショートカットを追加',
      editShortcut: '編集',
      deleteShortcut: '削除',
      customShortcuts: '追加されたカスタムショートカット',
      actions: {
        showHide: 'ウィンドウ表示/非表示',
        showHideDescription: 'アプリケーションウィンドウを素早く表示または非表示',
        newChat: '新しいチャット',
        newChatDescription: '新しいチャットセッションを作成',
        search: 'グローバル検索',
        searchDescription: 'アプリケーション内でコンテンツを検索',
        settings: '設定を開く',
        settingsDescription: '設定ページを素早く開く',
        toggleSidebar: 'サイドバー切り替え',
        toggleSidebarDescription: 'サイドバーを表示または非表示'
      },
      categories: {
        general: '一般操作',
        chat: 'チャット機能',
        navigation: 'ナビゲーション',
        editing: '編集',
        view: 'ビュー'
      },
      commands: {
        newChat: '新しいチャット',
        toggleSidebar: 'サイドバー切り替え',
        search: '検索',
        settings: '設定を開く'
      }
    },

    // データ設定
    data: {
      title: 'データ設定',
      description: 'アプリケーションデータとプライバシー設定を管理',
      storage: 'ストレージ管理',
      storageDescription: 'アプリケーションデータストレージを表示・管理',
      chatHistory: 'チャット履歴',
      chatHistoryDescription: 'チャット履歴記録を管理',
      clearChatHistory: 'チャット履歴をクリア',
      clearChatHistoryConfirm: 'すべてのチャット履歴をクリアしますか？この操作は元に戻せません。',
      exportData: 'データエクスポート',
      exportDataDescription: 'アプリケーションデータをファイルにエクスポート',
      importData: 'データインポート',
      importDataDescription: 'ファイルからアプリケーションデータをインポート',
      dataLocation: 'データ場所',
      dataLocationDescription: 'アプリケーションデータ保存場所',
      openDataFolder: 'データフォルダを開く',
      privacy: 'プライバシー設定',
      privacyDescription: 'データ収集と使用を制御',
      analytics: '使用統計',
      analyticsDescription: '匿名使用統計情報の収集を許可',
      crashReports: 'クラッシュレポート',
      crashReportsDescription: 'アプリケーション改善のためクラッシュレポートを自動送信',
      clearCache: 'キャッシュクリア',
      clearCacheDescription: 'アプリケーションキャッシュファイルをクリア',
      cacheSize: 'キャッシュサイズ',
      lastBackup: '最後のバックアップ',
      autoBackup: '自動バックアップ',
      autoBackupDescription: 'アプリケーションデータを定期的に自動バックアップ'
    },

    // Aboutページ
    about: {
      title: '私たちについて',
      description: 'アプリケーション情報と開発チーム',
      appName: 'JoyThink AI',
      version: 'バージョン',
      buildDate: 'ビルド日',
      developer: '開発者',
      website: '公式ウェブサイト',
      support: 'テクニカルサポート',
      license: 'ライセンス',
      openSource: 'オープンソースライセンス',
      thirdParty: 'サードパーティコンポーネント',
      changelog: '変更ログ',
      checkUpdate: '更新をチェック',
      updateAvailable: '新しいバージョンが利用可能',
      updateNotAvailable: '最新バージョンを使用中',
      downloading: '更新をダウンロード中...',
      installUpdate: '更新をインストール',
      releaseNotes: 'リリースノート',
      contact: 'お問い合わせ',
      feedback: 'フィードバック',
      reportBug: 'バグ報告',
      featureRequest: '機能リクエスト',
      documentation: 'ドキュメント',
      community: 'コミュニティ',
      donate: 'サポート',
      acknowledgments: '謝辞',
      specialThanks: '特別感謝'
    }
  },

  // チャットページ
  chat: {
    title: 'チャット',
    placeholder: 'メッセージを入力...',
    send: '送信',
    newChat: '新しいチャット',
    clearChat: 'チャットクリア',
    exportChat: 'チャットエクスポート',
    thinking: '考え中...',
    typing: '入力中...',
    error: '送信失敗',
    retry: '再試行',
    copy: 'コピー',
    regenerate: '再生成',
    stop: '生成停止',
    chatHistory: 'チャット履歴',
    noHistory: 'チャット履歴なし',
    deleteChat: 'チャット削除',
    deleteChatConfirm: 'このチャットを削除しますか？',
    renameChat: 'チャット名変更',
    chatName: 'チャット名',
    today: '今日',
    yesterday: '昨日',
    lastWeek: '先週',
    lastMonth: '先月',
    older: 'それ以前'
  },

  // ログインページ
  login: {
    title: 'ログイン',
    welcome: 'JoyThink AIへようこそ',
    username: 'ユーザー名',
    password: 'パスワード',
    rememberMe: 'ログイン状態を保持',
    forgotPassword: 'パスワードを忘れましたか？',
    login: 'ログイン',
    register: '登録',
    loginSuccess: 'ログイン成功',
    loginFailed: 'ログイン失敗',
    invalidCredentials: 'ユーザー名またはパスワードが間違っています',
    networkError: 'ネットワーク接続エラー',
    serverError: 'サーバーエラー',
    logout: 'ログアウト',
    logoutConfirm: 'ログアウトしますか？',
    sessionExpired: 'セッションが期限切れです。再度ログインしてください'
  },

  // エラーページ
  error: {
    404: {
      title: 'ページが見つかりません',
      description: '申し訳ございません。お探しのページは存在しません',
      backHome: 'ホームに戻る'
    },
    401: {
      title: '未認証アクセス',
      description: 'このページにアクセスする権限がありません',
      backHome: 'ホームに戻る',
      login: 'ログインへ'
    },
    500: {
      title: 'サーバーエラー',
      description: 'サーバーに問題が発生しました',
      retry: '再試行',
      backHome: 'ホームに戻る'
    },
    network: {
      title: 'ネットワーク接続エラー',
      description: 'ネットワーク接続を確認してください',
      retry: '再試行'
    }
  },

  // ウィンドウコントロール
  window: {
    minimize: '最小化',
    maximize: '最大化',
    restore: '復元',
    close: '閉じる',
    alwaysOnTop: '常に最前面',
    fullscreen: 'フルスクリーン',
    exitFullscreen: 'フルスクリーン終了',
    pin: '最前面に固定',
    unpin: '固定解除'
  },

  // フォーム検証
  validation: {
    required: 'この項目は必須です',
    email: '有効なメールアドレスを入力してください',
    minLength: '最低{min}文字必要です',
    maxLength: '最大{max}文字まで許可されています',
    pattern: '形式が正しくありません',
    numeric: '数字を入力してください',
    url: '有効なURLを入力してください',
    phone: '有効な電話番号を入力してください',
    password: 'パスワード強度が不十分です',
    confirmPassword: 'パスワードが一致しません'
  },

  // 時間形式
  time: {
    now: 'たった今',
    minutesAgo: '{minutes}分前',
    hoursAgo: '{hours}時間前',
    daysAgo: '{days}日前',
    weeksAgo: '{weeks}週間前',
    monthsAgo: '{months}ヶ月前',
    yearsAgo: '{years}年前',
    today: '今日',
    yesterday: '昨日',
    tomorrow: '明日'
  },

  // ファイル操作
  file: {
    upload: 'ファイルアップロード',
    download: 'ファイルダウンロード',
    delete: 'ファイル削除',
    rename: '名前変更',
    copy: 'ファイルコピー',
    move: 'ファイル移動',
    size: 'ファイルサイズ',
    type: 'ファイルタイプ',
    modified: '更新日時',
    created: '作成日時',
    selectFile: 'ファイル選択',
    dragDrop: 'ファイルをここにドラッグ&ドロップ',
    uploadSuccess: 'アップロード成功',
    uploadFailed: 'アップロード失敗',
    downloadSuccess: 'ダウンロード成功',
    downloadFailed: 'ダウンロード失敗',
    fileTooLarge: 'ファイルが大きすぎます',
    fileTypeNotSupported: 'サポートされていないファイルタイプ',
    noFileSelected: 'ファイルが選択されていません'
  },

  // ユーザー関連
  user: {
    admin: '管理者',
    userId: 'ユーザーID',
    loginButton: 'ログイン',
    loggingIn: 'ログイン中...',
    userCard: 'ユーザーカード'
  },

  // テーマ関連
  theme: {
    preview: 'テーマプレビュー',
    colorPicker: 'テーマカラーピッカー',
    buttons: 'ボタンスタイル',
    primaryButton: 'プライマリボタン',
    secondaryButton: 'セカンダリボタン',
    borderButton: 'ボーダーボタン',
    inputs: '入力フィールドスタイル',
    normalInput: '通常の入力フィールド',
    focusedInput: 'フォーカス状態',
    interactive: 'インタラクティブ要素',
    switch: 'スイッチ',
    checkbox: 'チェックボックス',
    links: 'リンクスタイル',
    primaryLink: 'プライマリリンク',
    secondaryLink: 'セカンダリリンク',
    statusColors: 'ステータスカラー',
    successStatus: '成功ステータス',
    warningStatus: '警告ステータス',
    errorStatus: 'エラーステータス',
    infoStatus: '情報ステータス',
    colors: {
      blue: 'ブルー',
      green: 'グリーン',
      purple: 'パープル',
      pink: 'ピンク',
      orange: 'オレンジ',
      red: 'レッド',
      cyan: 'シアン',
      indigo: 'インディゴ',
      emerald: 'エメラルド',
      rose: 'ローズ'
    }
  },

  // AIアシスタント
  aiAssistant: {
    title: 'AIアシスタント',
    openTooltip: 'AIアシスタントを開く',
    closeTooltip: 'AIアシスタントを閉じる',
    welcome: 'こんにちは！私はあなたのAIアシスタントです。何かお手伝いできることはありますか？',
    thinking: 'AIが考え中...',
    inputPlaceholder: '質問を入力してください...',
    sendButton: '送信',
    keyboardHint: 'Enterで送信、Ctrl+Enterで改行',
    errorResponse: '申し訳ございません。現在ご質問にお答えできません。後でもう一度お試しください。',
    responses: {
      analysis: 'とても良い質問ですね！分析させていただきます...',
      suggestions: 'ご説明に基づいて、以下の方法をお試しいただくことをお勧めします：',
      information: 'ご要望を理解いたしました。お役に立つ関連情報をご提供します：',
      solutions: 'いくつかの提案と解決策をご提供させていただきます：',
      considerations: 'ご質問に基づいて、以下の観点から考えることができます：'
    }
  },

  // フォームコンポーネント
  form: {
    required: '必須',
    optional: '任意',
    placeholder: '入力してください',
    validation: {
      required: 'この項目は必須です',
      email: '有効なメールアドレスを入力してください',
      minLength: '最低{min}文字必要です',
      maxLength: '最大{max}文字まで許可されています',
      pattern: '形式が正しくありません'
    },
    buttons: {
      primary: 'プライマリボタン',
      secondary: 'セカンダリボタン',
      danger: 'デンジャーボタン',
      ghost: 'ゴーストボタン',
      outline: 'アウトラインボタン'
    }
  },

  // 確認ダイアログ
  confirm: {
    title: '操作の確認',
    message: 'この操作を実行してもよろしいですか？',
    confirmButton: '確認',
    cancelButton: 'キャンセル',
    deleteTitle: '削除の確認',
    deleteMessage: 'この操作は元に戻せません。削除してもよろしいですか？',
    saveTitle: '変更の保存',
    saveMessage: '現在の変更を保存しますか？'
  }
};
